//package cn.jeefast.common.utils;
//
//import cn.jiguang.common.resp.APIConnectionException;
//import cn.jiguang.common.resp.APIRequestException;
//import cn.jsms.api.SendSMSResult;
//import cn.jsms.api.ValidSMSResult;
//import cn.jsms.api.common.SMSClient;
//import cn.jsms.api.common.model.SMSPayload;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//public class SmsUtil {
//
//    protected static final Logger LOG = LoggerFactory.getLogger(SmsUtil.class);
//
//    private static final String masterSecret = "eb1da2a2987c9cc7487f0d5d";
//    private static final String appkey = "ea9ff2019f8c5b63aba31392";
//
//    /**
//     * 获取随机数字
//     *
//     * @param len 获取随机数字长度
//     * @return
//     */
//    public static String getCode(int len) {
//        if (len == 0) {
//            len = 4;
//        }
//        if (len >= 6) {
//            len = 6;
//        }
//        StringBuffer s = new StringBuffer("1");
//        for (int i = 1; i < len; i++) {
//            s.append("0");
//        }
//        Integer num = Integer.parseInt(s.toString());
//        int d = (int) ((Math.random() * 9 + 1) * num);
//        System.out.println(d);
//        return String.valueOf(d);
//    }
//
//
//    /**
//     * @param mobile 手机号
//     * @param tmpId 短信模板
//     * @return msgId 验证标示 null表示异常没有发送成功
//     * @throws Exception
//     */
//    public static String sendSMSCode(String mobile, int tmpId) {
//        String msgId = null;
//        SMSClient client = new SMSClient(masterSecret, appkey);
//        SMSPayload payload = SMSPayload.newBuilder()
//                .setMobileNumber(mobile)
//                .setTempId(tmpId)
//                .build();
//        try {
//            SendSMSResult res = client.sendSMSCode(payload);
//            msgId = res.getMessageId();
//            System.out.println(res.toString());
//            LOG.info(res.toString());
//
//        } catch (APIConnectionException e) {
//            LOG.error("Connection error. Should retry later. ", e);
//        } catch (APIRequestException e) {
//            LOG.error("Error response from JPush server. Should review and fix it. ", e);
//            LOG.info("HTTP Status: " + e.getStatus());
//            LOG.info("Error Message: " + e.getMessage());
//        }
//        return msgId;
//    }
//
//    /**
//     * 验证码校验
//     */
//    public static boolean validSMSCode(String msgId, String code) {
//        boolean flag = false;
//        SMSClient client = new SMSClient(masterSecret, appkey);
//        try {
//            ValidSMSResult res = client.sendValidSMSCode(msgId, code);
//            System.out.println(res.toString());
//            LOG.info(res.toString());
//            //短信校验成功
//            flag = res.getIsValid();
//        } catch (APIConnectionException e) {
//            e.printStackTrace();
//            System.out.println(e.getMessage());
//            LOG.error("Connection error. Should retry later. ", e);
//            flag = false;
//            return flag;
//        } catch (APIRequestException e) {
//            e.printStackTrace();
//            if (e.getErrorCode() == 50010) {
//                // do something
//                flag = false;
//            }
//            System.out.println(e.getStatus() + " errorCode: " + e.getErrorCode() + " " + e.getErrorMessage());
//            LOG.error("Error response from JPush server. Should review and fix it. ", e);
//            LOG.info("HTTP Status: " + e.getStatus());
//            LOG.info("Error Message: " + e.getMessage());
//            return flag;
//        }
//        return flag;
//    }
//
//    public static void main(String[] args) {
//        try {
//            //sendSMSCode("15210813857",1);
//            //testSendValidSMSCode();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//}
